image-type
Detect the image type of a Buffer/Uint8Array
See the file-type module for more file types.
Install
$ npm install --save image-type
Usage
Node.js
var readChunk = require('read-chunk');
var imageType = require('image-type');
var buffer = readChunk.sync('unicorn.png', 0, 12);
imageType(buffer);
or from a remote location:
var http = require('http');
var imageType = require('image-type');
var url = 'http://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif';
http.get(url, function (res) {
res.once('data', function (chunk) {
res.destroy();
console.log(imageType(chunk));
});
});
Browser
var xhr = new XMLHttpRequest();
xhr.open('GET', 'unicorn.png');
xhr.responseType = 'arraybuffer';
xhr.onload = function () {
imageType(new Uint8Array(this.response));
};
xhr.send();
API
imageType(buffer)
Returns: png
, jpg
, gif
, webp
, tif
, bmp
, jxr
, psd
, false
SVG isn't included as it requires the whole file to be read, but you can get it here.
buffer
Type: buffer
(Node.js), uint8array
It only needs the first 12 bytes.
CLI
$ npm install --global image-type
$ image-type --help
Usage
image-type <filename>
cat <filename> | image-type
Example
cat unicorn.png | image-type
png
License
MIT © Sindre Sorhus